package com.itheima.health.exception;


import com.itheima.health.common.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 这个类是：
 *
 * @author: 25122
 * @date: 2024/5/15 10:28
 * @version: 1.0
 */
// 说明这是一个全局异常处理器
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {
    // 说明要捕获的是哪一种类型的异常
    @ExceptionHandler(Exception.class)
    public Result exceptionHandler(Exception exception) {
        // 千万不要把异常给吞掉
        log.error(exception.getMessage(), exception);
        // 以前端能解析的格式返回给前端数据
        return Result.error("网络错误，稍后重试");
    }

    // 说明要捕获的是哪一种类型的异常
    @ExceptionHandler(BizException.class)
    public Result bizExceptionHandler(BizException exception) {
        // 千万不要把异常给吞掉
        log.error(exception.getMessage(), exception);
        // 以前端能解析的格式返回给前端数据
        return Result.error(exception.getMsg());
    }
}
